package org.go.scheduler;

import java.util.Collection;

import org.go.expcetion.GoException;

/**
 * Provides a mechanism for obtaining client-usable handles to <code>Scheduler</code>
 * instances.
 * 
 * @see Scheduler
 * @see org.go.scheduler.StdSchedulerFactory
 * 
 * @author hejie
 */
public interface SchedulerFactory {
	/**
	 * <p>
	 * Returns handles to all known Schedulers (made by any SchedulerFactory
	 * within this jvm.).
	 * </p>
	 */
	Collection<Scheduler> getAllSchedulers() throws GoException;

	/**
	 * <p>
	 * Returns a handle to the Scheduler with the given name, if it exists.
	 * </p>
	 */
	Scheduler getScheduler(String schedName) throws GoException;

}
